Dependence Testing for Parallelizing Compilers ECE 1754 Survey Paper Student : Franjo Plavec Toronto , May 2003

نویسنده

  • Franjo Plavec
چکیده

Dependence testing is an important aspect of a parallelizing compiler. Precise data dependence information is necessary to detect parallelism. Main source of the parallelism in programs are loops. Dependence testing discovers data dependences between iterations of nested loops. In this paper we present the dependence testing problem, terminology and concepts used in dependence testing. We present several simple dependence tests, and two complex algorithms, the Omega test and Rice test. We compare the effectiveness and efficiency of various tests and algorithms and discuss possible improvements.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The K Test: an Exact and Efficient Knowledge-based Data Dependence Testing Method for Parallelizing Compilers

Many different classes of multiprocessors have been designed and implemented in industry and academia. Therefore, it has become an important issue to develop parallelizing compiling techniques that can exploit the potential power of multiprocessors. In this paper, we concentrate on the fundamental phase, data dependence analysis, in parallelizing compilers. We propose a new approach that integr...

متن کامل

Simplifying Polynomial Constraints over Integers to Make Dependence Analysis More Precise Simplifying Polynomial Constraints over Integers to Make Dependence Analysis More Precise

Why do existing parallelizing compilers and environments fail to parallelize many realistic FORTRAN programs? One of the reasons is that these programs contain a number of linearized array references, such as A(M*N*i+N*j+k) or A(i*(i+1)/2+j). Performing exact dependence analysis for these references requires testing polynomial constraints for integer solutions. Most existing dependence analysis...

متن کامل

Polaris: Improving the Effectiveness of Parallelizing Compilers

It is the goal of the Polaris project to develop a new parallelizing compiler that will overcome limitations of current compilers. While current parallelizing compilers may succeed on small kernels, they often fail to extract any meaningful parallelism from large applications. After a study of application codes, it was concluded that by adding a few new techniques to current compilers, automati...

متن کامل

Evaluation of Parallelizing Compilers

The recognition and exploitation of parallelism is a diicult problem for restructuring compilers. We present a method for evaluating the eeectiveness of parallelizing compilers in general and of speciic compiler techniques. We also report two groups of measurements that are the results of using this technique. One evaluates a commercially available parallelizer, KAP/Concurrent, and the other co...

متن کامل

Supporting Array Dependence Testing for an Optimizing/Parallelizing C Compiler

A practical context-sensitive inter-procedural analysis framework for c compilers. [Mas92] Vadim Maslov. Delinearization : An ecient way to break multiloop dependence equations. The omega test : A fast and practical integer programming algorithm for dependence analysis.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003